package frpc.enu;

import org.springframework.data.redis.connection.DataType;

/**
 * 枚举描述:  缓存存储类型描述枚举
 *
 * @author 王雷
 * @version 1.0.0
 * @date 2022/6/22 0022 下午 2:48
 */
public enum CacheDescriptionType {

    /**
     * 属性描述：对象型
     *
     * @date : 2022/6/22 0022 下午 2:50
     */
    Cache_Storage_Type_Serializable,
    /**
     * 属性描述：List集合
     *
     * @date : 2022/6/22 0022 下午 2:50
     */
    Cache_Storage_Type_List,
    /**
     * 属性描述：Set集合
     *
     * @date : 2022/6/22 0022 下午 2:50
     */
    Cache_Storage_Type_Set,
    /**
     * 属性描述：Hash链表
     *
     * @date : 2022/6/22 0022 下午 2:50
     */
    Cache_Storage_Type_Hash,
    /**
     * 属性描述：未知
     *
     * @date : 2022/6/22 0022 下午 2:50
     */
    Cache_Storage_Type_Unknown;

    public static CacheDescriptionType giveCacheDescriptionTypeByDataType(DataType dataType){
        switch (dataType) {
            case SET:
                return CacheDescriptionType.Cache_Storage_Type_Set;
            case HASH:
                return CacheDescriptionType.Cache_Storage_Type_Hash;
            case LIST:
                return CacheDescriptionType.Cache_Storage_Type_List;
            case STRING:
                return CacheDescriptionType.Cache_Storage_Type_Serializable;
            default:
                return CacheDescriptionType.Cache_Storage_Type_Unknown;
        }
    }
}
